home *** CD-ROM | disk | FTP | other *** search
- /*
- File: ExportAIFF.c
-
- Contains: A program to demonstrate how to export a QuickTime movie
- to an AIFF file.
-
- Written by: Kip Olson, Apple Computer
- */
-
- #include <Types.h>
- #include <Movies.h>
- #include <Fonts.h>
- #include <StandardFile.h>
- #include <Memory.h>
- #include <Files.h>
- #include <Resources.h>
-
- void main(void);
- OSErr ConvertMovieToAIFF(FSSpec *inputFile, FSSpec *outputFile);
- void AppendStr(Str255 target, Str255 source);
-
- void main(void)
- {
- StandardFileReply reply;
- FSSpec outputFile;
- SFTypeList fileTypes = { 'MooV', 0, 0, 0 };
- OSErr err;
-
- /* ---------------------------------
- Initialize the world
- --------------------------------- */
-
- InitGraf((Ptr) &qd.thePort);
- InitFonts();
- InitWindows();
- InitMenus();
- TEInit();
- InitDialogs(nil);
- InitCursor();
- MaxApplZone();
-
- err = EnterMovies();
- if (err != noErr)
- {
- DebugStr("\pEnterMovies failed");
- return;
- }
-
- /* ---------------------------------
- Open the input movie file
- --------------------------------- */
-
- StandardGetFilePreview(nil, 1, fileTypes, &reply);
-
- if (!reply.sfGood)
- return;
-
- /* ---------------------------------
- Convert movie to AIFF file
- --------------------------------- */
-
- outputFile = reply.sfFile;
- AppendStr(outputFile.name, "\p AIFF");
-
- err = ConvertMovieToAIFF(&reply.sfFile, &outputFile);
- if (err != noErr)
- DebugStr("\pConversion failed");
- }
-
- OSErr ConvertMovieToAIFF(FSSpec *inputFile, FSSpec *outputFile)
- {
- short fRef;
- Movie theMovie;
- OSErr err;
-
- err = OpenMovieFile(inputFile, &fRef, fsRdPerm);
- if (err != noErr)
- goto OpenMovieFileFailed;
-
- err = NewMovieFromFile(&theMovie, fRef, nil, nil, 0, nil);
- if (err != noErr)
- goto NewMovieFromFileFailed;
-
- SetMovieProgressProc(theMovie, (MovieProgressUPP) -1L, 0);
-
- err = ConvertMovieToFile(theMovie, nil, outputFile, 'AIFF', 'sSnd',
- 0, nil, showUserSettingsDialog, nil);
-
- DisposeMovie(theMovie);
- NewMovieFromFileFailed:
- CloseMovieFile(fRef);
- OpenMovieFileFailed:
- return (err);
- }
-
- void AppendStr(Str255 target, Str255 source)
- {
- short i;
-
- for (i = 1; i <= source[0]; i++)
- target[target[0] + i] = source[i];
- target[0] += source[0];
- }
-